home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-02-10 | 57.7 KB | 2,005 lines |
- The following are the diffs between 4.1 and 4.1.1 of tn3270.
-
- First, though, there are three man page files and etc/map3270.
- These are delineated by "---" in column 1.
-
- --- mset.1
- .\" Copyright (c) 1986 The Regents of the University of California.
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms are permitted
- .\" provided that the above copyright notice and this paragraph are
- .\" duplicated in all such forms and that any documentation,
- .\" advertising materials, and other materials related to such
- .\" distribution and use acknowledge that the software was developed
- .\" by the University of California, Berkeley. The name of the
- .\" University may not be used to endorse or promote products derived
- .\" from this software without specific prior written permission.
- .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- .\"
- .\" @(#)mset.1 4.2 (Berkeley) 12/21/88
- .\"
- .TH MSET 1 "December 21, 1988"
- .UC 6
- .SH NAME
- mset \- retrieve ASCII to IBM 3270 keyboard map
- .SH SYNOPSIS
- .B mset
- [-picky] [-shell] [keyboardname]
- .SH DESCRIPTION
- .I Mset
- retrieves mapping information
- for the ASCII keyboard to IBM 3270 terminal
- special functions.
- Normally, these mappings are found
- in
- .I /etc/map3270
- (see
- .IR map3270 (5)).
- This information is used by the
- .I tn3270
- command (see
- .IR tn3270 (1)).
- .PP
- The default
- .I mset
- output can be used to store the mapping information in the process environment
- in order to avoid scanning
- .I /etc/map3270
- each time
- .I tn3270
- is invoked.
- To do this, place the following command in your
- .I .login
- file:
- .ti 5n
- .sp
- set noglob; setenv \s-1MAP3270\s0 "\(gamset\(ga"; unset noglob
- .PP
- If the
- .I keyboardname
- argument is not supplied,
- .I mset
- attempts to determine the name of the keyboard the user is using,
- by checking the
- .B KEYBD
- environment variable.
- If the
- .B KEYBD
- environment variable is not set, then
- .I mset
- uses the user's terminal type from the environment variable
- .B TERM
- as the keyboard name.
- Normally,
- .I mset
- then uses the file
- .I /etc/map3270
- to find the keyboard mapping for that terminal.
- However, if the environment variable
- .B MAP3270
- exists and contains the entry for the specified keyboard, then that
- definition is used.
- If the value of
- .B MAP3270
- begins with a slash (`/') then it is assumed to be the full pathname
- of an alternate mapping file and that file is searched first.
- In any case, if the mapping for the keyboard is not found in
- the environment, nor in an alternate map file, nor in the standard map file,
- then the same search is performed for an entry for a keyboard with the name
- .BR unknown .
- If that search also fails,
- then a default mapping
- is used.
- .PP
- The arguments to
- .I mset
- are:
- .sp
- .TP +2
- -picky
- When processing the various map3270 entries (for the user's keyboard,
- and all those encountered before the one for the user's keyboard),
- .I mset
- normally will not complain about entries for unknown functions (like
- \*(lqPFX1\*(rq); the
- .I -picky
- argument causes
- .I mset
- to issue warning messages about these unknown entries.
- .TP
- -shell
- If the map3270 entry is longer than the shell's 1024 environmental variable
- length limit, the default
- .I mset
- output cannot be used to store the mapping information in the process
- environment to avoid scanning
- .I /etc/map3270
- each time
- .I tn3270
- is invoked.
- The
- .I -shell
- argument causes
- .I mset
- to generate shell commands to set the environmental variables
- .BR MAP3270 ,
- .BR MAP3270A ,
- and so on, breaking up the entry to fit within the shell environmental
- variable length limit.
- To set these variables, place the following command in your
- .I .login
- file:
- .sp
- mset -shell > tmp ; source tmp ; /bin/rm tmp
- .TP
- keyboardname
- When searching for the map3270 entry that matches the user's keyboard,
- .I mset
- will use
- .I keyboardname
- instead of determining the keyboard name from the
- .B KEYBD
- or
- .B TERM
- environmental variables.
- .SH FILES
- /etc/map3270 keyboard mapping for known keyboards
- .SH SEE ALSO
- tn3270(1), map3270(5)
- --- tn3270.1
- .\" Copyright (c) 1986 The Regents of the University of California.
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms are permitted
- .\" provided that the above copyright notice and this paragraph are
- .\" duplicated in all such forms and that any documentation,
- .\" advertising materials, and other materials related to such
- .\" distribution and use acknowledge that the software was developed
- .\" by the University of California, Berkeley. The name of the
- .\" University may not be used to endorse or promote products derived
- .\" from this software without specific prior written permission.
- .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- .\"
- .\" @(#)tn3270.1 4.2 (Berkeley) 12/21/88
- .\"
- .TH TN3270 1 "December 21, 1988"
- .UC 6
- .SH NAME
- tn3270 \- full-screen remote login to IBM VM/CMS
- .SH SYNOPSIS
- .B tn3270
- [-d] [-n filename] [-t commandname] [sysname [port]]
- .SH DESCRIPTION
- .I Tn3270
- permits a full-screen, full-duplex connection
- from a \s-UNIX\s0 machine
- to an IBM (or compatible) machine.
- .I Tn3270
- gives the appearance of being logged in
- to the remote machine
- from an IBM 3270 terminal.
- Of course, you must have an account on the machine
- to which you connect in order to log in.
- .I Tn3270
- looks to the user in many respects
- like the Yale ASCII Terminal Communication System II.
- .I Tn3270
- is actually a modification of the Arpanet TELNET user interface (see
- .IR telnet (1))
- which will, in certain circumstances, interpret and generate
- raw 3270 control streams.
- .PP
- The flags to
- .I tn3270
- are as follows:
- .TP +2
- -d
- Turn on socket-level tracing (for super-user only)
- .TP
- -n filename
- Specify a file to receive network trace data
- output (from commands "toggle netdata" and
- "toggle options", see
- .IR telnet (1c));
- the default is for output
- to be directed to the standard error file.
- .TP
- -t commandname
- Specify a \s-UNIX\s0 command to process IBM 4994 style transparent mode
- data received from the remote IBM machine.
- .TP
- sysname
- The name of the remote system. If the remote name
- is NOT specified, the user will be prompted for a
- command (see below).
- .TP
- port
- The port to connect to on the remote system.
- Normally,
- .I tn3270
- attempts to connect to the
- standard TELNET port (port
- 23) on the remote machine.
- .sp
- .PP
- When
- .I tn3270
- first connects to the remote system, it will negotiate to go into
- 3270 mode.
- Part of this negotiation involves telling the remote system what model
- 3270 it is emulating.
- In all cases,
- .I tn3270
- emulates a 3278 terminal.
- To decide which specific model,
- .I tn3270
- looks at the number of lines and columns on the actual terminal (as
- defined in the
- .B TERM
- environment variable; see
- .IR termcap (5)).
- The terminal (or window in which tn3270 is running, on multiple
- window systems) must have at least 80 columns and 24 lines, or
- .I tn3270
- will not go into emulation mode.
- If the terminal does have at least 80 columns and at least 24 lines,
- the following table describes the emulation:
- .sp
- .ne 7v
- .nf
- .ta 0.5i 1.5i
- minimum size emulated
- (rows*columns) terminal
- -------------- ------------
- 27*132 3278 model 5
- 43*80 3278 model 4
- 32*80 3278 model 3
- 24*80 3278 model 2.
- .fi
- .sp
- .PP
- Emulation of the 3270 terminal is done in the \s-UNIX\s0 process.
- This emulation involves mapping
- 3270-style commands from the host
- into appropriate sequences to control the user's terminal screen.
- .I Tn3270
- uses
- .IR curses (3x)
- and the
- .I /etc/termcap
- file to do this.
- The emulation also involves simulating the special 3270 keyboard keys
- (program function keys, etc.)
- by mapping sequences of keystrokes
- from the ASCII keyboard into appropriate 3270 control strings.
- This mapping is terminal dependent and is specified
- in a description file,
- .IR /etc/map3270 ,
- (see
- .IR map3270 (5))
- or in an environment variable
- .I MAP3270
- (and, if necessary,
- .IR MAP3270A ,
- .IR MAP3270B ,
- and so on - see
- .IR mset (1)).
- Any special function keys on the ASCII keyboard are used whenever possible.
- If an entry for the user's terminal
- is not found,
- .I tn3270
- looks for an entry for the terminal type
- .B unknown.
- If this is not found,
- .I tn3270
- uses a default keyboard mapping
- (see
- .IR map3270 (5)).
- .PP
- The first character of each special keyboard mapping sequence
- is either an ASCII escape (ESC),
- a control character, or an ASCII delete (DEL).
- If the user types an unrecognized function key sequence,
- .I tn3270
- sends an ASCII bell (BEL), or a visual bell if
- defined in the user's termcap entry, to the user's terminal
- and nothing is sent to the IBM host.
- .PP
- If
- .I tn3270
- is invoked without specifying a remote host system name,
- it enters local command mode,
- indicated by the prompt ``tn3270>''.
- In this mode,
- .I tn3270
- accepts and executes
- all the commands of
- .IR telnet (1),
- plus one additional command:
- .TP +2
- transcom
- Specify \s-UNIX\s0 command for IBM 4994 style transparent mode processing.
- .PP
- .I Tn3270
- command mode may also be entered, after connecting to a host, by typing
- a special escape sequence.
- If
- .I tn3270
- has succeeded in negotiating 3270 mode with the remote host, the
- escape sequence will be as defined by the map3270 (see
- .IR map3270 (5))
- entry for the user's terminal type
- (typically control-C);
- otherwise the escape sequence will initially be set to the
- single character '^]'
- (control right square bracket).
- .PP
- While in command mode, any host login session is still alive
- but temporarily suspended.
- The host login session may be resumed by entering an empty line
- (press the RETURN key)
- in response to the command prompt.
- A session may be terminated by logging off the foreign host,
- or by typing ``quit'' or ``close'' while in local command mode.
- .SH FILES
- /etc/termcap
- .br
- /etc/map3270
- .SH AUTHOR
- Greg Minshall
- .SH NOTES
- .PP
- The IBM 4994 style transparent mode command is invoked when
- .I tn3270
- receives IBM 4994 style transparent output from the remote host.
- Output and input pipes are created for communication between the two
- processes.
- The pipes are closed when a 3270 clear command is received from the remote
- hosts, signalling the end of transparent mode output.
- Transparent mode is necessary for sending ASCII control characters over the
- 3270 terminal connection; ASCII graphics terminal support is accomplished this
- way.
- Developers of
- .I transcom
- commands should note that the
- .I transcom
- stdin pipe end will be in CBREAK mode, with ECHO and CRMOD turned off.
- .SH SEE ALSO
- mset(1), telnet(1), curses(3x), termcap(3x), termcap(5), map3270(5),
- \fIYale ASCII Terminal Communication
- System II Program Description/Operator's Manual\fR
- (IBM SB30-1911)
- .SH BUGS
- Tn3270 is slow and uses system resources prodigiously.
- .PP
- Not all 3270 functions are supported,
- nor all Yale enhancements.
- .PP
- Error conditions (attempting to enter data in a protected field, for
- example) should cause a message to be sent to the user's terminal
- instead of just ringing a bell.
- --- map3270.5
- .\" Copyright (c) 1986 The Regents of the University of California.
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms are permitted
- .\" provided that the above copyright notice and this paragraph are
- .\" duplicated in all such forms and that any documentation,
- .\" advertising materials, and other materials related to such
- .\" distribution and use acknowledge that the software was developed
- .\" by the University of California, Berkeley. The name of the
- .\" University may not be used to endorse or promote products derived
- .\" from this software without specific prior written permission.
- .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- .\"
- .\" @(#)map3270.5 4.2 (Berkeley) 12/21/88
- .\"
- .TH MAP3270 5 "December 21, 1988"
- .UC 6
- .SH NAME
- map3270 \- database for mapping ascii keystrokes into IBM 3270 keys
- .SH SYNOPSIS
- .B /etc/map3270
- .SH DESCRIPTION
- When emulating IBM-syle 3270 terminals under \s-UNIX\s0 (see \fItn3270\fR(1)),
- a mapping must be performed between sequences of keys hit on
- a user's (ascii) keyboard, and the keys that are
- available on a 3270. For example, a 3270 has a key labeled
- .B EEOF
- which erases the contents of the current field from the
- location of the cursor to the end.
- In order to accomplish this function,
- the terminal user and a program emulating a 3270 must
- agree on what keys will be typed
- to invoke the
- .B EEOF
- function.
- .PP
- The requirements for these sequences are:
- .nf
- .ta 4n 9n
- .sp
- 1) that the first character of the sequence be outside of the
- standard ascii printable characters;
- .sp
- 2) that no sequence \fIbe\fR an initial part of another (although
- sequences may \fIshare\fR initial parts).
- .sp
- .fi
- .SH FORMAT
- The file consists of entries for various keyboards. The first part
- of an entry lists the names of the keyboards which use that entry.
- These names will often be the same as in
- .I /etc/termcap
- (see
- .IR termcap (5));
- however, note that often the terminals from various termcap entries will all
- use the same
- .I map3270
- entry; for example, both 925 and 925vb (for
- 925 with visual bells) would probably use the same
- .I map3270
- entry.
- Additionally, there are occasions when the terminal type defines
- a window manager, and it will then be necessary to specify a
- keyboard name (via the
- .B KEYBD
- environment variable) as the name of the entry.
- After the names, separated by vertical bars (`|'), comes a left
- brace (`{'); the definitions; and, finally, a right brace
- (`}').
- .PP
- Each definition consists of a reserved keyword (see list below) which
- identifies the 3270 function (extended as defined below), followed
- by an equal sign (`='), followed by the various ways to generate
- this particular function, followed by a semi-colon (`;').
- Each way is a sequence of strings of
- .I printable
- ascii characters enclosed inside single quotes (`\(aa');
- various ways (alternatives) are separated by vertical bars (`|').
- .PP
- Inside the single quotes, a few characters are special.
- A caret
- (`^') specifies that the next character is
- the ``control'' character of whatever the character is.
- So, `^a'
- represents control-a, ie: hexadecimal 1
- (note that `^A' would generate the same code).
- To generate
- .B rubout
- (DEL),
- one enters `^?'.
- To represent a control character inside a file
- requires using the caret to represent a control sequence;
- simply typing control-A will not work.
- Note: the ctrl-caret sequence
- (to generate a hexadecimal 1E)
- is represented as `^^' (not `^\e^').
- .PP
- In addition to the caret, a letter may be preceeded by a backslash (`\e').
- Since this has little effect for most characters,
- its use is usually not recommended.
- For the case of a single quote (`\(aa'), the backslash
- prevents that single quote from terminating the string.
- For the case of a caret (`^'), the backslash prevents
- the caret from having its special meaning.
- To have the backslash be part of the string, it is necessary to
- place two backslashes ('\e\e') in the file.
- .PP
- In addition, the following characters are special:
- .sp
- .nf
- .in +0.5i
- `\eE' means an escape character;
- `\en' means newline;
- `\et' means tab;
- `\er' means carriage return.
- .in -0.5i
- .fi
- .sp
- It is not necessary for each character in a string
- to be enclosed within single quotes.
- `\eE\eE\eE' means three escape characters.
- .PP
- Comments, which may appear anywhere on a line,
- begin with a hash mark (`#'), and terminate
- at the end of that line.
- However, comments cannot begin inside a quoted string;
- a hash mark inside a quoted string has no special meaning.
- .PP
- .SH 3270 KEYS SUPPORTED
- The following is the list of 3270 key names that are supported in this file.
- Note that some of the keys don't really exist on a 3270.
- In particular, the developers of this file have relied
- extensively on the work at the Yale University Computer Center with
- their 3270 emulator which runs in an IBM Series/1 front end.
- The following list corresponds closely to the functions
- that the developers of the Yale code offer in their product.
- .sp
- .B In the following list, the
- .B starred ("*")
- .B functions are not supported by
- .IR tn3270 (1).
- An unsupported function will cause
- .IR tn3270(1)
- to send a (possibly visual) bell sequence to the user's terminal.
- .sp
- .nf
- 3270 Key Name Functional description
-
- (*)LPRT local print
- DP dup character
- FM field mark character
- CURSEL cursor select
- CENTSIGN EBCDIC cent sign
- RESHOW redisplay the screen
- EINP erase input
- EEOF erase end of field
- DELETE delete character
- INSRT toggle insert mode
- TAB field tab
- BTAB field back tab
- COLTAB column tab
- COLBAK column back tab
- INDENT indent one tab stop
- UNDENT undent one tab stop
- NL new line
- HOME home the cursor
- UP up cursor
- DOWN down cursor
- RIGHT right cursor
- LEFT left cursor
- SETTAB set a column tab
- DELTAB delete a columntab
- SETMRG set left margin
- SETHOM set home position
- CLRTAB clear all column tabs
- (*)APLON apl on
- (*)APLOFF apl off
- (*)APLEND treat input as ascii
- (*)PCON xon/xoff on
- (*)PCOFF xon/xoff off
- DISC disconnect (suspend)
- (*)INIT new terminal type
- (*)ALTK alternate keyboard dvorak
- FLINP flush input
- ERASE erase last character
- WERASE erase last word
- FERASE erase field
- SYNCH we are in synch with the user
- RESET reset key-unlock keyboard
- MASTER_RESET reset, unlock and redisplay
- (*)XOFF please hold output
- (*)XON please give me output
- ESCAPE enter telnet command mode
- WORDTAB tab to beginning of next word
- WORDBACKTAB tab to beginning of current/last word
- WORDEND tab to end of current/next word
- FIELDEND tab to last non-blank of current/next
- unprotected (writable) field.
-
- PA1 program attention 1
- PA2 program attention 2
- PA3 program attention 3
-
- CLEAR local clear of the 3270 screen
- TREQ test request
- ENTER enter key
-
- PFK1 program function key 1
- PFK2 program function key 2
- etc. etc.
- PFK36 program function key 36
- .SH A SAMPLE ENTRY
- The following entry is used by
- tn3270(1) when unable to locate a reasonable version in the
- user's environment and in /etc/map3270:
- .sp
- .nf
- name { # actual name comes from TERM variable
- clear = '^z';
- flinp = '^x';
- enter = '^m';
- delete = '^d' | '^?'; # note that '^?' is delete (rubout)
- synch = '^r';
- reshow = '^v';
- eeof = '^e';
- tab = '^i';
- btab = '^b';
- nl = '^n';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^j';
- einp = '^w';
- reset = '^t';
- xoff = '^s';
- xon = '^q';
- escape = '^c';
- ferase = '^u';
- insrt = '\E ';
- # program attention keys
- pa1 = '^p1'; pa2 = '^p2'; pa3 = '^p3';
- # program function keys
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
- pfk13 = '\E!'; pfk14 = '\E@'; pfk15 = '\E#'; pfk16 = '\E$';
- pfk17 = '\E%'; pfk18 = '\E'; pfk19 = '\E&'; pfk20 = '\E*';
- pfk21 = '\E('; pfk22 = '\E)'; pfk23 = '\E_'; pfk24 = '\E+';
- }
- .fi
- .SH "IBM 3270 KEY DEFINITONS FOR AN ABOVE DEFINITION"
- The charts below show the proper keys to emulate
- each 3270 function when using the default key mapping supplied
- with
- .IR tn3270 (1)
- and
- .IR mset (1).
- .sp
- .nf
- Command Keys IBM 3270 Key Default Key(s)
- Enter RETURN
- Clear control-z
- Cursor Movement Keys
- New Line control-n or
- Home
- Tab control-i
- Back Tab control-b
- Cursor Left control-h
- Cursor Right control-l
- Cursor Up control-k
- Cursor Down control-j or
- LINE FEED
- Edit Control Keys
- Delete Char control-d or
- RUB
- Erase EOF control-e
- Erase Input control-w
- Insert Mode ESC Space
- End Insert ESC Space
- Program Function Keys
- PF1 ESC 1
- PF2 ESC 2
- ... ...
- PF10 ESC 0
- PF11 ESC -
- PF12 ESC =
- PF13 ESC !
- PF14 ESC @
- ... ...
- PF24 ESC +
- Program Attention Keys
- PA1 control-p 1
- PA2 control-p 2
- PA3 control-p 3
- Local Control Keys
- Reset After Error control-r
- Purge Input Buffer control-x
- Keyboard Unlock control-t
- Redisplay Screen control-v
- Other Keys
- Erase current field control-u
- .fi
- .SH FILES
- /etc/map3270
- .SH SEE ALSO
- tn3270(1), mset(1), \fIYale ASCII Terminal Communication
- System II Program Description/Operator's Manual\fR
- (IBM SB30-1911)
- .SH AUTHOR
- Greg Minshall
- .SH BUGS
- .I Tn3270
- doesn't yet understand how to process all the functions
- available in
- .I map3270;
- when such a function is requested
- .I tn3270
- will beep at you.
- .PP
- The definition of "word" (for "word erase", "word tab") should be a run-time
- option. Currently it is defined as the kernel tty driver defines it (strings
- of non-whitespace); more than one person would rather use the "vi" definition
- (strings of specials, strings of alphanumeric).
- --- etc/map3270
- #
- # Copyright (c) 1987 Regents of the University of California.
- # All rights reserved. The Berkeley software License Agreement
- # specifies the terms and conditions for redistribution.
- #
- # @(#)map3270 1.1 (Berkeley) 11/20/87
- #
- #
- # /etc/map3270 (/usr/new/etc/map3270 before migration)
- # mail corrections and additions to "termcap"
- #
- # this file contains mappings between characters entered from the keyboard,
- # and 3270 keys, for use by programs (like tn3270) doing 3270 emulation
- # from unix.
- #
- # inside the single quotes, a caret ("^") introduces a control character
- # sequence (rub out = ^?, by the way). also inside the single quotes,
- # a backslash ('\') introduces an escaped character. Also, \n, \r, \t,
- # are all as in c, and \E is another way of representing escape.
- #
- # NOTE that while we are defining lots of function, much of that
- # function (ie: local editing keys) may not yet be available from
- # tn3270.
-
-
- 3a | adm3a {
- enter = '^m';
- clear = '^z';
-
- nl = '^n';
- tab = '^i';
- btab = '^b' | '\E^i';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^j';
- home = '^@';
-
- delete = '^d' | '^?'; # rubout
- eeof = '^e';
- einp = '^w';
- insrt = '\E ';
- dp = '^u';
- fm = '^y';
-
- # pf keys
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E:'; pfk12 = '\E-';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
- pa1 = '^p1';
- pa2 = '^p2';
- pa3 = '^p3';
-
- # other keys
- cursel = '\E.';
- centsign = '^\';
-
- # local control keys
-
- reset = '^t'; # well, there is a little confusion here...
- master_reset = '^g';
- flinp = '^x';
- reshow = '^v'; # redisplay screen
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E+';
- setmrg = '\E(';
- sethom = '\E!';
- coltab = '\Ei';
- colbak = '\Eb';
- indent = '\El';
- undent = '\Eh';
-
- } # end of adm3a
-
- 920c | tvi920c | 920b { # tvi920c definitions...
-
- # command keys
- enter = '^m';
- clear = '^z';
-
- # cursor movement keys
- nl = '^^' | '^n'; # home
- tab = '^i';
- btab = '^b' | '\E^i';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^j';
- home = '^@';
-
- # edit control keys
- delete = '^?' | '^d'; # delete
- eeof = '^e';
- einp = '^w';
- insrt = '\E ';
- dp = '^u';
- fm = '^y';
-
- # program function keys
-
- # F1 to F11
- pfk1 = '^a@^m'; pfk2 = '^aA^m'; pfk3 = '^aB^m'; pfk4 = '^aC^m';
- pfk5 = '^aD^m'; pfk6 = '^aE^m'; pfk7 = '^aF^m'; pfk8 = '^aG^m';
- pfk9 = '^aH^m'; pfk10 = '^aI^m'; pfk11 = '^aJ^m';
-
- # SHIFT-F11
- pfk12 = '^aj^m';
-
- # ESC F1 to ESC F11
- pfk11 = '\E^a@^m'; pfk12 = '\E^aA^m';
- pfk13 = '\E^aB^m'; pfk14 = '\E^aC^m'; pfk15 = '\E^aD^m'; pfk16 = '\E^aE^m';
- pfk17 = '\E^aF^m'; pfk18 = '\E^aG^m'; pfk19 = '\E^aH^m'; pfk20 = '\E^aI^m';
- pfk21 = '\E^a`^m';
-
- # ESC SHIFT-F1 to ESC SHIFT-F4
- pfk21 = '\E^a`^m'; pfk22 = '\E^aa^m'; pfk23 = '\E^ab^m'; pfk24 = '\E^ac^m';
-
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
-
- pa1 = '^a`^m' | '^p1';
- pa2 = '^aa^m' | '^p2';
- pa3 = '^ab^m' | '^p3';
-
- # miscellaneous 3270 keys
-
- cursel = '\E.';
- centsign = '^\';
-
- # local control keys
-
- reset = '^t'; # there is some confusion here...
- master_reset = '^g';
- flinp = '^x';
- reshow = '^v';
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
-
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E:';
- setmrg = '\E*';
- sethom = '\E!';
- coltab = '\Ei' | '\EI';
- colbak = '\Eb' | '\EB';
- indent = '\El' | '\EL';
- undent = '\Eh' | '\EH';
- } # end of tvi920c table...
-
- 925 | tvi925 | 925vb | tvi925vb | televideo 925 {
-
- # command keys
-
- enter = '^m';
- clear = '^z';
-
- # cursor movement keys
-
- nl = '^j' | '^n';
- tab = '^i';
- btab = '\EI';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^v';
- home = '^^';
-
- # edit control keys
-
- delete = '^?'; # that's rubout...
- eeof = '^e';
- einp = '^w';
- insrt = '\E ' | '\EW';
-
- # program function keys
-
- pfk1 = '^a@^m';
- pfk2 = '^aA^m';
- pfk3 = '^aB^m';
- pfk4 = '^aC^m';
- pfk5 = '^aD^m';
- pfk6 = '^aE^m';
- pfk7 = '^aF^m';
- pfk8 = '^aG^m';
- pfk9 = '^aH^m';
- pfk10 = '^aI^m';
- pfk11 = '^aJ^m';
- pfk12 = '\EQ';
- pfk13 = '\E^a@^m';
- pfk14 = '\E^aA^m';
- pfk15 = '\E^aB^m';
- pfk16 = '\E^aC^m';
- pfk17 = '\E^aD^m';
- pfk18 = '\E^aE^m';
- pfk19 = '\E^aF^m';
- pfk20 = '\E^aG^m';
- pfk21 = '\E^aH^m';
- pfk22 = '\E^aI^m';
- pfk23 = '\E^aJ^m';
- pfk24 = '\E\EQ';
-
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
-
- pa1 = '^a`^m';
- pa2 = '^aa^m';
- pa3 = '^ab^m';
-
- # other keys
- centsign = '^\';
-
- # local control keys
-
- reset = '^t'; # again, there is some confusion here...
- master_reset = '^g';
- flinp = '^x';
- reshow = '^b';
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
-
- settab = '\EY';
- deltab = '\Ey';
- clrtab = '\E:';
- setmrg = '\ET';
- sethom = '\Et';
- coltab = '^p';
- colbak = '^o';
- indent = '\ER';
- undent = '\EE';
- }
-
-
- 924 | tvi924 {
-
- # command keys
-
- enter = '^m';
- clear = '^z';
-
- # cursor movement keys
-
- nl = '^j';
- tab = '^i';
- btab = '\EI';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^v';
- home = '^^';
-
- # edit control keys
-
- delete = '^?'; # that's rubout...
- eeof = '^e';
- einp = '^w';
- insrt = '\E ' | '\EW';
- dp = '^u';
- fm = '^y';
-
- # program function keys
-
- pfk1 = '^a@^m';
- pfk2 = '^aA^m';
- pfk3 = '^aB^m';
- pfk4 = '^aC^m';
- pfk5 = '^aD^m';
- pfk6 = '^aE^m';
- pfk7 = '^aF^m';
- pfk8 = '^aG^m';
- pfk9 = '^aH^m';
- pfk10 = '^aI^m';
- pfk11 = '^aJ^m';
- pfk12 = '^aK^m';
- pfk13 = '^aL^m';
- pfk14 = '^aM^m';
- pfk15 = '^aN^m';
- pfk16 = '^aO^m';
- pfk17 = '^af^m';
- pfk18 = '^ag^m';
- pfk19 = '^ah^m';
- pfk20 = '^ai^m';
- pfk21 = '^aj^m';
- pfk22 = '^ak^m';
- pfk23 = '^al^m';
- pfk24 = '^am^m';
-
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
-
- pa1 = '^a`^m';
- pa2 = '^aa^m';
- pa3 = '^ab^m';
-
- # other keys
- centsign = '^\';
-
- # local control keys
-
- reset = '^t'; # again, there is some confusion here...
- master_reset = '^g';
- flinp = '^x';
- reshow = '^b';
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
-
- settab = '\EY';
- deltab = '\Ey';
- clrtab = '\E:';
- setmrg = '\ET';
- sethom = '\Et';
- coltab = '^p';
- colbak = '^o';
- indent = '\ER';
- undent = '\EE';
- }
-
- h19 | heath | h19b | heathkit | heath-19 | z19 | zenith {
- enter = '^m';
- clear = '^z';
-
- nl = '^n' | '^?';
- tab = '^i';
- btab = '^b';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^j';
- home = '^@';
-
- delete = '^d';
- eeof = '^e';
- einp = '^w';
- insrt = '\E ';
-
- # pf keys
- pfk1 = '\E?p\E?q'; pfk2 = '\E?p\E?r'; pfk3 = '\E?p\E?s'; pfk4 = '\E?p\E?t';
- pfk5 = '\E?p\E?u'; pfk6 = '\E?p\E?v'; pfk7 = '\E?p\E?w'; pfk8 = '\E?p\E?x';
- pfk9 = '\E?p\E?y'; pfk10 = '\E?q\E?p'; pfk11 = '\E?q\E?q'; pfk12 = '\E?q\E?r';
- pfk13 = '\E?q\E?s'; pfk14 = '\E?q\E?t'; pfk15 = '\E?q\E?u'; pfk16 = '\E?q\E?v';
- pfk17 = '\E?q\E?w'; pfk18 = '\E?q\E?x'; pfk19 = '\E?q\E?y'; pfk20 = '\E?r\E?p';
- pfk21 = '\E?r\E?q'; pfk22 = '\E?r\E?r'; pfk23 = '\E?r\E?s'; pfk24 = '\E?r\E?t';
-
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
- pa1 = '\EP';
- pa2 = '\EQ';
- pa3 = '\ER';
-
- # other keys
-
- centsign = '^\';
- # cursel = '\E.'; # find out what this does
- master_reset = '^g';
-
- # local control keys
-
- reset = '^t'; # well, there is a little confusion here...
- flinp = '^x';
- reshow = '^v'; # redisplay screen
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
- settab = '\E;';
- clrtab = '\E:';
- setmrg = '\E\'';
- sethom = '\E!';
- coltab = '\Ei';
- colbak = '\Eb';
- indent = '\El';
- undent = '\Eh';
-
- } # end of h19
-
-
- co | c100 | concept | c100-4p | concept100 {
- enter = '^m';
- clear = '^z' | '^\2';
-
- nl = '^n';
- tab = '^i';
- btab = '^b';
- left = '^h' | '\E>';
- right = '^l' | '\E=';
- up = '^k' | '\E;';
- down = '^j' | '\E<';
- home = '\E?';
-
- delete = '^d' | '^?' | '^\1';
- eeof = '^e' | '^\3';
- einp = '^w';
- insrt = '^\0';
-
- # pf keys
- pfk1 = '\E\E1' | '^\5'; pfk2 = '\E\E2' | '^\6'; pfk3 = '\E\E3' | '^\7';
- pfk4 = '\E\E4' | '^\8'; pfk5 = '\E\E5' | '^\9'; pfk6 = '\E\E6' | '^\:';
- pfk7 = '\E\E7' | '^\;'; pfk8 = '\E\E8' | '^\<'; pfk9 = '\E\E9' | '^\=';
- pfk10 = '\E\E0' | '^\>'; pfk11 = '\E\E-' | '^\?'; pfk12 = '^\@';
- pfk13 = '^\A'; pfk14 = '^\B'; pfk15 = '^\)'; pfk16 = '^\*';
- pfk17 = '^\+'; pfk18 = '^\,'; pfk19 = '^\-'; pfk20 = '^\.';
- pfk21 = '^\/'; pfk22 = '^\C'; pfk23 = '^\D'; pfk24 = '^\E';
-
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
- pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
- pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '^f12';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
- pa1 = '^\%';
- pa2 = '^\&' | '\E+';
- pa3 = '^\\'';
-
- # other keys
- cursel = '\E.';
- aplon = '\E{';
- aplend = '\E}';
- aploff = '\E_';
- master_reset = '^g';
- centsign = '\E\\';
-
- # local control keys
-
- reset = '^t'; # well, there is a little confusion here...
- flinp = '^x';
- reshow = '^v'; # redisplay screen
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
- settab = '\E\E;';
- clrtab = '\E\E:';
- setmrg = '\E\E*';
- sethom = '\E\E!';
- coltab = '\E\Ei';
- colbak = '\E\Eb';
- indent = '\E\El';
- undent = '\E\Eh';
-
- } # end of concept
- avt | avt-8p-s | avt-4p-s | avt-rv {
- enter = '^m';
- clear = '^z' | '\EOM';
-
- nl = '^?';
- tab = '^i';
- btab = '^b';
- left = '^h' | '\E[D';
- right = '^l' | '\E[C';
- up = '^k' | '\E[A';
- down = '^j' | '\E[B';
- home = '\EOn';
-
- delete = '^d';
- eeof = '^e';
- einp = '^w';
- insrt = '^ ' | '\E ';
-
- # pf keys
- pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
- pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
- pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';
- pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
- pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
- pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
- pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
- pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';
- pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';
-
- pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
- pa1 = '\E\EOP' | '^p1';
- pa2 = '\E\EOQ' | '^p2';
-
- # local control keys
-
- escape = '^c'; # escape to telnet command mode
- master_reset = '^g';
- centsign = '^\';
-
- # local editing keys
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E:';
- setmrg = '\E,';
- sethom = '\E.';
- coltab = '\E\E[B';
- colbak = '\E\E[A';
- indent = '\E\E[C';
- undent = '\E\E[D';
- } # end of avt, etc.
-
- tvipt | vp | televideopt {
- enter = '^m';
- clear = '^z';
-
- nl = '^n';
- tab = '^i';
- btab = '^b';
- left = '^h';
- right = '^l';
- up = '^k';
- down = '^j';
- home = '^^';
-
- delete = '^?';
- eeof = '^e';
- einp = '^w';
- insrt = '\E ';
-
- # pf keys
- pfk1 = '\E1' | '^A@^m';
- pfk2 = '\E2' | '^AA^m';
- pfk3 = '\E3' | '^AB^m';
- pfk4 = '\E4' | '^AC^m';
- pfk5 = '\E5' | '^AD^m';
- pfk6 = '\E6' | '^AE^m';
- pfk7 = '\E7' | '^AF^m';
- pfk8 = '\E8';
- pfk9 = '\E9';
- pfk10 = '\E0';
- pfk11 = '\E!' | '\E^A@^m';
- pfk12 = '\E@' | '\E^AA^m';
- pfk13 = '\E#' | '\E^AB^m';
- pfk14 = '\E$' | '\E^AC^m';
- pfk15 = '\E%' | '\E^AD^m';
- pfk16 = '\E^AE^m' | '\E\^';
- pfk17 = '\E&' | '\E^AF^m';
- pfk18 = '\E*';
- pfk19 = '\E(';
- pfk20 = '\E)';
-
- # program attention keys
- pa1 = '^AG^m';
- pa2 = '^AH^m';
- pa3 = '^AI^m';
-
- # other keys
- # # cursel = '\E.';
- centsign = '^\';
-
- # local control keys
-
- reset = '^t'; # well, there is a little confusion here...
- master_reset = '^g';
- flinp = '^x';
- reshow = '^v'; # redisplay screen
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
- settab = '\E;';
- clrtab = '\E:';
- setmrg = '\E[';
- sethom = '\E+';
- coltab = '\Ei' | '\EI';
- colbak = '\Eb' | '\EB';
- indent = '\El' | '\EL';
- undent = '\Eh' | '\EH';
- } # end of tvipt
- vt100 | vt100nam | pt100 | vt125 | vt102 | direct831 | tek4125 | pcplot | microvax{
- enter = '^m';
- clear = '^z' | '\EOM';
-
- nl = '^?';
- tab = '^i';
- btab = '^b';
- left = '^h' | '\EOD';
- right = '^l' | '\EOC';
- up = '^k' | '\EOA';
- down = '^j' | '\EOB';
- home = '\EOn';
-
- delete = '^d';
- eeof = '^e';
- einp = '^w';
- insrt = '^ ' | '\E ';
-
- # pf keys
- pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
- pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
- pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';
- pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
- pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
- pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
- pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
- pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';
- pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';
-
- # program attention keys
- pa1 = '\E\EOP' | '^p1';
- pa2 = '\E\EOQ' | '^p2';
-
- # local control keys
-
- escape = '^c'; # escape to telnet command mode
- master_reset = '^g';
- centsign = '^\';
-
- # local editing keys
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E:';
- setmrg = '\E,';
- sethom = '\E.';
- coltab = '\E\E[B';
- colbak = '\E\E[A';
- indent = '\E\E[C';
- undent = '\E\E[D';
- } # end of vt100, etc.
-
- sun {
- enter = '^m';
- clear = '^z' | '\E[222z';
-
- nl = '^j';
- tab = '^i';
- btab = '^b' | '\E[195z' | '\E[216z';
- left = '^h' | '\E[D' | '\EOD';
- right = '^l' | '\E[C' | '\EOC';
- up = '^k' | '\E[A' | '\EOA';
- down = '\E[B' | '\EOB';
- home = '\E[218z';
-
- delete = '^d' | '^?';
- eeof = '^e' | '\E[214z';
- einp = '^w' | '\E[213z';
- insrt = '\E ' | '\E[220z';
- dp = '^u';
- fm = '^y';
-
- # pf keys
- pfk1 = '\E[224z' | '\E1'; pfk2 = '\E[225z' | '\E2';
- pfk3 = '\E[226z' | '\E3'; pfk4 = '\E[227z' | '\E4';
- pfk5 = '\E[228z' | '\E5'; pfk6 = '\E[229z' | '\E6';
- pfk7 = '\E[230z' | '\E7'; pfk8 = '\E[231z' | '\E8';
- pfk9 = '\E[232z' | '\E9'; pfk10 = '\E[208z' | '\E0';
- pfk11 = '\E[209z' | '\E-'; pfk12 = '\E[210z' | '\E=';
- pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
- pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
- pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
-
- # program attention keys
- pa1 = '^p1' | '\E[211z';
- pa2 = '^p2' | '\E[212z';
- pa3 = '^p3';
-
- # other keys
- cursel = '\E.';
- centsign = '^\';
-
- # local control keys
-
- reset = '^t'; # well, there is a little confusion here...
- master_reset = '^g';
- flinp = '^x';
- reshow = '^v'; # redisplay screen
- escape = '^c'; # escape to telnet command mode
-
- # local editing keys
- settab = '\E;';
- clrtab = '\E+';
- setmrg = '\E(';
- sethom = '\E!';
- coltab = '\Ei';
- colbak = '\Eb';
- indent = '\El';
- undent = '\Eh';
- } # end of sun
- #
- # Works with /usr/ucb/tn3270 except tn3270pc which requires /usr/new/tn3270.
- #
- msk22714 | mskermit22714 | msk227 | mskermit227 {
- #
- # 9-5-86 gts
- # MS-Kermit UCB 227.14 to Unix then tn3270 to CMS.
- # Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
- # Attempts to work for both "do unix" and "do cms" keyboards. Differences are
- # marked with (C) for CMS only or (U) for Unix only. Incidental effects are
- # enclosed in square brackets [].
- # New functions WERASE Ctrl-\ and FERASE Ctrl-_.
-
- enter = '^m'; # <--'
- clear = '^z'; # keypad + (C)
-
- nl = '^n'; # keypad End (C)
- tab = '^i'; # --->|
- btab = '^b' | '\E^I'; # |<--- (C|U)
- left = '^h'; # keypad Left
- right = '^l'; # keypad Right
- up = '^k'; # keypad Up
- down = '^j' | '\EB'; # keypad Down (U|C)
- # [ keypad End (U) ]
- home = '^^' | '^@'; # keypad Home (U|C)
- dp = '^u' | '^a'; # [ keypad PgUp (U) ]
- fm = '^y';
-
- delete = '^d' | '^?'; # keypad Del
- # [ keypad PgDn (U) ]
- eeof = '^e';
- einp = '^w'; # keypad - (C)
- insrt = '\E ' | '\Ei'; # keypad Ins (C|U)
-
- # pf keys IBM PC/XT/AT and ADM3A Esc d
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
- pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
- # pf keys IBM PC/XT/AT Shift and ADM3A Ctrl-F nn
- pfk11='^f11'; pfk12='^f12'; pfk13='^f13'; pfk14='^f14'; pfk15='^f15';
- pfk16='^f16'; pfk17='^f17'; pfk18='^f18'; pfk19='^f19'; pfk20='^f20';
- # pf keys IBM PC/XT/AT Ctrl- and ADM3A Ctrl-F nn
- pfk21='^f21'; pfk22='^f22'; pfk23='^f23'; pfk24='^f24'; pfk25='^f25';
- pfk26='^f26'; pfk27='^f27'; pfk28='^f28'; pfk29='^f29'; pfk30='^f30';
- # pf keys IBM PC/XT/AT Ctrl-Shift- and ADM3A Ctrl-F nn
- pfk31='^f31'; pfk32='^f32'; pfk33='^f33'; pfk34='^f34'; pfk35='^f35';
- pfk36='^f36';
- # pf keys IBM PC/XT/AT Alt-1 to Alt-= (generated as, Esc d, ^F 11, ^F 12)
- # pf keys ADM3A Esc d (d = 1 to 0 interpreted as above)
- pfk11 = '\E-'; pfk12 = '\E=';
-
- # program attention keys (same as ADM3A)
- pa1 = '^p1'; # Alt-F1
- pa2 = '^p2'; # Alt-F2
- pa3 = '^p3'; # Alt-F3
- #pa4 = '^p4'; # Alt-F3
- #testreq = '^pr' | '^pR'; # Alt-F5
-
- # other keys
- cursel = '\E.';
- werase = '^\';
- ferase = '^_';
-
- # local control keys
- master_reset = '^g';
- reset = '^r' | '^t';
- flinp = '^x';
- reshow = '^v';
- escape = '^c'; # escape to telnet
-
- # local editing keys
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E:' | '\E+';
- setmrg = '\E(';
- sethom = '\E!';
- coltab = '\EI';
- #coltab = '\Ei' | '\EI'; # cannot use Esc i
- colbak = '\Eb'; # on S/1 \EB is down
- #colbak = '\Eb' | '\EB'; # cannot use Esc B
- indent = '\El' | '\EL';
- undent = '\Eh' | '\EH'; # on S/1 \EH is Home
-
- } # end of msk22714
- #
- ansisys | ansisysk | nansisys | nansisysk {
- #
- # 9-5-86 gts
- # IBM PC/XT/AT using the ansi.sys | ansi.sysk | nansi.sys | nansi.sysk termcaps.
- #
- # PROBLEM: cannot use periods in termcap name until mset fixed (gts 9-5-86).
- #
- # PROBLEM: cannot use eval `mset ...` until Unix csh changed to allow more
- # than 1024 characters in an environment string or until mset changed to
- # return only the filename if the resulting string is longer than 1024.
- #
- # PROBLEM when NUL (^@) immediately follows a Return: Unix telent apparently
- # ignores the NUL! (Can tn3270 negotiate a different newline?)
- #
- # Nearly identical to the map3270 for the IBM PC TN3270, which itself is nearly
- # identical to the MS-Kermit UCB 227.14 keyboard which in turn was a modest
- # improvement of the BIJOU Yterm keyboard. See HELP TN3270PC on CMS.
- # Includes the underlying ADM3A keystrokes for full S/1 compatibility.
- # Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
- # which prevents separate use of the keypad plus and minus keys.
- # Adds new functions WERASE and FERASE.
- #
-
- enter = '^m'; # <--'
- clear = '^z' | '^@w'; # Ctrl-Home
-
- nl = '^n' | '^@O'; # keypad End
- tab = '^i'; # --->|
- btab = '^b' | '^@^O'; # |<---
- left = '^h' | '^@K'; # keypad Left
- right = '^l' | '^@M'; # keypad Right
- up = '^k' | '^@H'; # keypad Up
- down = '^j' | '^@P'; # keypad Down
- home = '^^' | '^@G'; # keypad Home
- # (cannot use Ctrl-@)
- dp = '^u';
- fm = '^y';
-
- delete = '^d' | '^?' | '^@S'; # keypad Del
- eeof = '^e' | '^@u'; # keypad Ctrl-End
- einp = '^w';
- insrt = '\E ' | '^@R' | '\E\Ei'; # keypad Ins
-
- # pf keys IBM PC/XT/AT
- pfk1 = '^@;'; pfk2 = '^@<'; pfk3 = '^@='; pfk4 = '^@>'; pfk5 = '^@?';
- pfk6 = '^@@'; pfk7 = '^@A'; pfk8 = '^@B'; pfk9 = '^@C'; pfk10= '^@D';
- # pf keys IBM PC/XT/AT Shift
- pfk11 = '^@T'; pfk12 = '^@U'; pfk13 = '^@V'; pfk14 = '^@W'; pfk15 = '^@X';
- pfk16 = '^@Y'; pfk17 = '^@Z'; pfk18 = '^@['; pfk19 = '^@\\'; pfk20 = '^@]';
- # pf keys IBM PC/XT/AT Ctrl-
- pfk21 = '^@\^';pfk22 = '^@_'; pfk23 = '^@`'; pfk24 = '^@a'; pfk25 = '^@b';
- pfk26 = '^@c'; pfk27 = '^@d'; pfk28 = '^@e'; pfk29 = '^@\f'; pfk30 = '^@g';
- # pf keys IBM PC/XT/AT Ctrl-Shift- (cannot be done yet with PC tn3270)
- # pf keys IBM PC/XT/AT Alt-d
- pfk1 = '^@x'; pfk2 = '^@y'; pfk3 = '^@z'; pfk4 = '^@{'; pfk5 = '^@|';
- pfk6 = '^@}'; pfk7 = '^@~'; pfk8 = '^@^?';pfk9 = '^@^@';pfk10= '^@^A';
- pfk11='^@^B'; pfk12= '^@^C';
-
- # pf keys ADM3A Esc d
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
- pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
- pfk11 = '\E-'; pfk12 = '\E=';
- # pf keys ADM3A Ctrl-F n n
- pfk1 = '^f01'; pfk2 = '^f02'; pfk3 = '^f03'; pfk4 = '^f04'; pfk5= '^f05';
- pfk6 = '^f06'; pfk7 = '^f07'; pfk8 = '^f08'; pfk9 = '^f09'; pfk10= '^f10';
- pfk11= '^f11'; pfk12= '^f12'; pfk13= '^f13'; pfk14= '^f14'; pfk15= '^f15';
- pfk16= '^f16'; pfk17= '^f17'; pfk18= '^f18'; pfk19= '^f19'; pfk20= '^f20';
- pfk21= '^f21'; pfk22= '^f22'; pfk23= '^f23'; pfk24= '^f24'; pfk25= '^f25';
- pfk26= '^f26'; pfk27= '^f27'; pfk28= '^f28'; pfk29= '^f29'; pfk30= '^f30';
- pfk31= '^f31'; pfk32= '^f32'; pfk33= '^f33'; pfk34= '^f34'; pfk35= '^f35';
- pfk36= '^f36';
-
- # program attention keys
- pa1 = '^p1' | '^@h'; # Alt-F1
- pa2 = '^p2' | '^@i'; # Alt-F2
- pa3 = '^p3' | '^@j'; # Alt-F3
- #pa4 = '^p4' | '^@k'; # Alt-F4
- #testreq = '^pr' | '^pR' | '^@l' # Alt-F5
-
- # other keys
- cursel = '\E.';
- werase = '^\';
- ferase = '^_';
- pfk7 = '^@I' | '\E^U'; # keypad PgUp
- pfk8 = '^@Q' | '\E^D'; # keypad PgDn
-
- # local control keys
- reset = '^r' | '^t';
- master_reset = '^g';
- flinp = '^x';
- reshow = '^v';
- escape = '^c'; # escape to TN3270 command prompt
-
- # local editing keys
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E:' | '\E+';
- setmrg = '\E(';
- sethom = '\E!';
- coltab = '\Ei' | '\EI';
- colbak = '\Eb' | '\EB'; # on S/1 \EB is down
- indent = '\El' | '\EL';
- undent = '\Eh' | '\EH'; # on S/1 \EH is Home
-
- } # end of ansi.sys
- #
- tn3270pc | ibm-3278-2 {
- #
- # 2-14-87 gts
- #
- # MAP3270 for the IBM PC logged into Unix with PC TN3270 with TERM=nansisys,
- # nansisysk, ansisys or ansisysk, hence requires KETBD=tn3270pc.
- #
- # MAP3270 for the IBM PC
- # Nearly identical to the MS-Kermit UCB 227.14 keyboard which in turn was
- # an modest improvement of the BIJOU Yterm keyboard.
- # Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
- # Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
- # which prevents separate use of the keypad plus and minus keys, and adds
- # new functions WERASE, FERASE, WORDTAB, WORDBACKTAB, WORDEND and FIELDEND.
- # Where possible these extensions are compatible with IBM PC keystroke usage
- # (see XT technical reference manual Keyboard Usage Guidelines).
- # Includes F11 and F12 keys from the new IBM PC/XT/AT keyboard.
- #
-
- centsign = '\Ec' | '\EC'; # CentSign for input
- enter = '^m'; # <--'
- clear = '^z' | '^Aw'; # Ctrl-Home
-
- nl = '^n' | '^AO'; # keypad End
- tab = '^i'; # --->|
- btab = '^b' | '\E^I' | '^A^O'; # |<---
- left = '^h' | '^AK'; # keypad Left
- right = '^l' | '^AM'; # keypad Right
- up = '^k' | '^AH'; # keypad Up
- down = '^j' | '^AP'; # keypad Down
- home = '^^' | '^AG' | '^@'; # keypad Home
- dp = '^u';
- fm = '^y';
-
- delete = '^d' | '^AS'; # keypad Del
- eeof = '^e' | '^Au'; # keypad End
- einp = '^w';
- insrt = '\E ' | '^AR'; # keypad Ins
-
- # pf keys IBM PC/XT/AT
- pfk1 = '^A;'; pfk2 = '^A<'; pfk3 = '^A='; pfk4 = '^A>'; pfk5 = '^A?';
- pfk6 = '^A@'; pfk7 = '^AA'; pfk8 = '^AB'; pfk9 = '^AC'; pfk10= '^AD';
- # pf keys IBM PC/XT/AT Shift
- pfk11 = '^AT'; pfk12 = '^AU'; pfk13 = '^AV'; pfk14 = '^AW'; pfk15 = '^AX';
- pfk16 = '^AY'; pfk17 = '^AZ'; pfk18 = '^A['; pfk19 = '^A\\'; pfk20 = '^A]';
- # pf keys IBM PC/XT/AT Ctrl-
- pfk21 = '^A\^';pfk22 = '^A_'; pfk23 = '^A`'; pfk24 = '^Aa'; pfk25 = '^Ab';
- pfk26 = '^Ac'; pfk27 = '^Ad'; pfk28 = '^Ae'; pfk29 = '^Af'; pfk30 = '^Ag';
- # pf keys IBM PC/XT/AT Alt-d
- pfk1 = '^Ax'; pfk2 = '^Ay'; pfk3 = '^Az'; pfk4 = '^A{'; pfk5 = '^A|';
- pfk6 = '^A}'; pfk7 = '^A~'; pfk8 = '^A^?';pfk9 = '^A^A^@';pfk10= '^A^A^A';
- pfk11='^A^A^b'; pfk12= '^A^A^c';
- # pf keys NEW IBM PC/XT/AT Keyboard
- pfk11='^A^A^e'; pfk12= '^A^A^f';
-
- # pf keys ADM3A Esc d
- pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
- pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
- pfk11 = '\E-'; pfk12 = '\E=';
- # pf keys ADM3A Ctrl-F n n
- pfk1 = '^f01'; pfk2 = '^f02'; pfk3 = '^f03'; pfk4 = '^f04'; pfk5= '^f05';
- pfk6 = '^f06'; pfk7 = '^f07'; pfk8 = '^f08'; pfk9 = '^f09'; pfk10= '^f10';
- pfk11= '^f11'; pfk12= '^f12'; pfk13= '^f13'; pfk14= '^f14'; pfk15= '^f15';
- pfk16= '^f16'; pfk17= '^f17'; pfk18= '^f18'; pfk19= '^f19'; pfk20= '^f20';
- pfk21= '^f21'; pfk22= '^f22'; pfk23= '^f23'; pfk24= '^f24'; pfk25= '^f25';
- pfk26= '^f26'; pfk27= '^f27'; pfk28= '^f28'; pfk29= '^f29'; pfk30= '^f30';
- pfk31= '^f31'; pfk32= '^f32'; pfk33= '^f33'; pfk34= '^f34'; pfk35= '^f35';
- pfk36= '^f36';
-
- # program attention keys
- pa1 = '^p1' | '^Ah'; # Alt-F1
- pa2 = '^p2' | '^Ai'; # Alt-F2
- pa3 = '^p3' | '^Aj'; # Alt-F3
- treq = '^pr' | '^pR' | '^Al'; # Alt-F5
-
- # other keys
- cursel = '\E.';
- werase = '^\';
- ferase = '^_';
- wordtab = '^At'; # Ctrl-Right
- wordbacktab = '^As'; # Ctrl-Left
- wordend = '^A^A^d'; # Ctrl-PgUp
- fieldend = '^Av'; # Ctrl-PgDn
- pfk7 = '^AI'; # keypad PgUp
- pfk8 = '^AQ'; # keypad PgDn
-
- # local control keys
- reset = '^r' | '^t';
- master_reset = '^g';
- flinp = '^x';
- reshow = '^v';
- escape = '^c'; # to command prompt
- disc = '^pS1D'; # disconnect (suspend)?
- sync = '^pS1S'; # in sync with user?
-
- # local editing keys
- settab = '\E;';
- deltab = '\E\'';
- clrtab = '\E:' | '\E+';
- setmrg = '\E(';
- sethom = '\E!';
- coltab = '\Ei' | '\EI';
- colbak = '\Eb' | '\EB'; # on S/1 \EB is down
- indent = '\El' | '\EL';
- undent = '\Eh' | '\EH'; # on S/1 \EH is Home
-
- } # end of tn3270pc
- --- OK, now the diffs...
- *** /tmp/get28715 Mon Feb 6 20:10:42 1989
- --- telnet/Source/commands.c Mon Feb 6 19:05:45 1989
- ***************
- *** 16,22 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "%W% (Berkeley) %G%";
- #endif /* not lint */
-
- #include <sys/types.h>
- --- 16,22 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)commands.c 1.15 (Berkeley) 2/6/89";
- #endif /* not lint */
-
- #include <sys/types.h>
- ***************
- *** 1109,1115 ****
- }
- #endif /* defined(MSDOS) */
- sin.sin_addr.s_addr = inet_addr(argv[1]);
- ! if (sin.sin_addr.s_addr != -1) {
- sin.sin_family = AF_INET;
- (void) strcpy(hnamebuf, argv[1]);
- hostname = hnamebuf;
- --- 1109,1115 ----
- }
- #endif /* defined(MSDOS) */
- sin.sin_addr.s_addr = inet_addr(argv[1]);
- ! if (sin.sin_addr.s_addr != (unsigned long) -1) {
- sin.sin_family = AF_INET;
- (void) strcpy(hnamebuf, argv[1]);
- hostname = hnamebuf;
- *** /tmp/get28733 Mon Feb 6 20:11:23 1989
- --- telnet/Source/utilities.c Mon Feb 6 19:58:32 1989
- ***************
- *** 16,22 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "%W% (Berkeley) %G%";
- #endif /* not lint */
-
- #define TELOPTS
- --- 16,22 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)utilities.c 1.11 (Berkeley) 2/6/89";
- #endif /* not lint */
-
- #define TELOPTS
- ***************
- *** 115,124 ****
- --- 115,126 ----
- length -= BYTES_PER_LINE;
- offset += BYTES_PER_LINE;
- if (length < 0) {
- + fflush(NetTrace);
- return;
- }
- /* find next unique line */
- }
- + fflush(NetTrace);
- }
-
-
- *** /tmp/get28752 Mon Feb 6 20:12:24 1989
- --- telnet/Source/telnet.c Mon Feb 6 19:58:58 1989
- ***************
- *** 16,22 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)telnet.c 5.33 (Berkeley) 6/29/88";
- #endif /* not lint */
-
- #include <sys/types.h>
- --- 16,22 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)telnet.c 5.38 (Berkeley) 2/6/89";
- #endif /* not lint */
-
- #include <sys/types.h>
- ***************
- *** 284,289 ****
- --- 284,290 ----
- return; /* Never reply to TM will's/wont's */
-
- default:
- + hisopts[option] = 0;
- fmt = dont;
- }
- printring(&netoring, fmt, option);
- *** /tmp/get28778 Mon Feb 6 20:12:47 1989
- --- tn3270/ctlr/api.h Mon Feb 6 19:07:56 1989
- ***************
- *** 14,20 ****
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- ! * %W% (Berkeley) %G%
- */
-
- /*
- --- 14,20 ----
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- ! * @(#)api.h 4.2 (Berkeley) 2/6/89
- */
-
- /*
- ***************
- *** 319,327 ****
- * into which of the "words".
- */
-
- struct highlow {
- unsigned char
- ! #if defined(vax) || defined(ns32000)
- al,
- ah,
- bl,
- --- 319,345 ----
- * into which of the "words".
- */
-
- + #include <sys/param.h> /* Get ENDIAN from machine/endian.h */
- +
- + /* Determine endian'ess (if necessary) */
- +
- + #if !(defined(BYTE_ORDER) && defined(BIG_ENDIAN))
- + #define LITTLE_ENDIAN 1234 /* least-significant byte first (vax) */
- + #define BIG_ENDIAN 4321 /* most-significant byte first (IBM, net) */
- +
- + #if defined(vax) || defined(ns32000)
- + #define BYTE_ORDER LITTLE_ENDIAN
- + #endif /* defined(vax) || defined(ns32000) */
- +
- + #if defined(sun) || defined(tahoe) || defined(ibm032) || defined(pyr) || defined(gould)
- + #define BYTE_ORDER BIG_ENDIAN
- + #endif /* defined(sun) || defined(tahoe) || defined(ibm032) || defined(pyr) || defined(gould) */
- +
- + #endif /* !(defined(BYTE_ORDER) && defined(BIG_ENDIAN)) */
- +
- struct highlow {
- unsigned char
- ! #if BYTE_ORDER == LITTLE_ENDIAN
- al,
- ah,
- bl,
- ***************
- *** 330,337 ****
- ch,
- dl,
- dh;
- ! #endif /* defined(vax) || defined(ns32000) */
- ! #if defined(sun) || defined(tahoe) || defined(ibm032) || defined(pyr)
- ah,
- al,
- bh,
- --- 348,355 ----
- ch,
- dl,
- dh;
- ! #endif /* BYTE_ORDER == LITTLE_ENDIAN */
- ! #if BYTE_ORDER == BIG_ENDIAN
- ah,
- al,
- bh,
- ***************
- *** 340,346 ****
- cl,
- dh,
- dl;
- ! #endif /* defined(sun) || defined(tahoe) || defined(ibm032) || defined(pyr) */
- };
-
- struct words {
- --- 358,364 ----
- cl,
- dh,
- dl;
- ! #endif /* BYTE_ORDER == BIG_ENDIAN */
- };
-
- struct words {
- *** /tmp/get28795 Mon Feb 6 20:12:56 1989
- --- tn3270/ctlr/screen.h Mon Feb 6 19:06:44 1989
- ***************
- *** 14,20 ****
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- ! * %W% (Berkeley) %G%
- */
-
- #define INCLUDED_SCREEN
- --- 14,20 ----
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- ! * @(#)screen.h 4.2 (Berkeley) 2/6/89
- */
-
- #define INCLUDED_SCREEN
- ***************
- *** 109,118 ****
- (((c)&ATTR_DSPD_MASK) == ATTR_DSPD_HIGH)
- #define IsHighlighted(p) \
- (IsHighlightedAttr(FieldAttributes(p)) && !IsStartField(p))
- -
- -
- - #define MAX(x,y) ((x)<(y)? (y):(x))
- - #define MIN(x,y) ((x)<(y)? x:(y))
-
- typedef unsigned char ScreenImage;
-
- --- 109,114 ----
- *** /tmp/get28813 Mon Feb 6 20:13:05 1989
- --- tn3270/ctlr/outbound.c Mon Feb 6 16:25:45 1989
- ***************
- *** 16,22 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "%W% (Berkeley) %G%";
- #endif /* not lint */
-
- #include <stdio.h>
- --- 16,22 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)outbound.c 4.2 (Berkeley) 2/6/89";
- #endif /* not lint */
-
- #include <stdio.h>
- ***************
- *** 392,397 ****
- --- 392,411 ----
- case ORDER_RA:
- Ensure(3);
- i = Addr3270(buffer[0], buffer[1]);
- + if ((i < 0) || (i > HighestScreen())) {
- + char s_buffer[200];
- +
- + sprintf(s_buffer, "tn3270: %s%d.\n\t%s%d%s%d%s\n",
- + "Invalid 3270 order 'Repeat to Address' to address ",
- + i,
- + "(Screen currently set to ",
- + NumberLines,
- + " by ",
- + NumberColumns,
- + ".)");
- + ExitString(s_buffer, 1);
- + /*NOTREACHED*/
- + }
- c = buffer[2];
- if (c == ORDER_GE) {
- Ensure(4);
- ***************
- *** 416,421 ****
- --- 430,449 ----
- i = WhereAttrByte(BufferAddress);
- c = FieldAttributes(i);
- i = Addr3270(buffer[0], buffer[1]);
- + if ((i < 0) || (i > HighestScreen())) {
- + char s_buffer[200];
- +
- + sprintf(s_buffer, "tn3270: %s%d.\n\t%s%d%s%d%s\n",
- + "Invalid 3270 order 'Erase Unprotected to Address' to address ",
- + i,
- + "(Screen currently set to ",
- + NumberLines,
- + " by ",
- + NumberColumns,
- + ".)");
- + ExitString(s_buffer, 1);
- + /*NOTREACHED*/
- + }
- do {
- if (IsStartField(BufferAddress)) {
- c = FieldAttributes(BufferAddress);
-